[PHP] - Problemer med dato-format.

Tags:    php

Hejsa folkens :-)

Jeg kunne godt bruge lidt hjælp til mit kommentarsystem - og håber i kan hjælpe mig ;-)

Jeg skal nemlig udskrive hvornår kommentaren er skrevet, det virker også fint nok, men den skal hente datoen fra MYSQL databasen, og jeg skal kunne skrive punktummer, og lign. ind imellem datoen, så der fx. kan stå Skrevet den 15 december 2009, kl. 17:20 - synes det virker til at være sværrere end jeg havde regnet med,

Og derudover, skal det også være dansk tidsformat, så der fx. står Søndag, og ikke Sunday :-) hvis det er muligt altså...

Hele min php kode, for vis.php (hvor nyheden, og kommentarere bliver vist) :

Fold kodeboks ind/udKode 



Min MYSQL-tabel ser således ud:

`id` int(11) NOT NULL auto_increment,
`nyhed` int(11) NOT NULL default '0',
`navn` varchar(255) NOT NULL default '',
`kommentar` longtext NOT NULL,
`date` int(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;




Håber i kan hjælpe mig med dette ;-)

På forhånd tak,

Daniel.



5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Det er dårlig stil at stille samme spørgsmål på flere forummer.
Folk bruger faktisk tid på at løse dine problemer.



Hmm. ved ikke hvor meget lid jeg turde lægge i en servers oversættelse af ord. Hvis du ønsker at få udskrevet dagene i ugen, ville jeg nok selv lave en funktion til det. Et simpelt array med ugens dage, og så date("w") til at få udskrevet den korrekte. Så skal man hellere ikke rende rundt og tænke over opsætningen.

Hvis du ønsker mere manupulering med dato og tider, så kan du prøve http://www.webgeek.eu/?l=/en/archive/3. Den har dog en lille fejl med antal uger i en given måned, hvilket er rettet i den næste der kommer om en dags tid sammen med en JavaScript udgave af samme script.



er det ikke lettere at explode din tid fra den række du har tiden fra?

fx:

$explo = explode(" ", "2009-12-29 10:13:02");

$explod = explode("-", $explo['0']);

print "Kl.". $explo['1'] ." D. ". $explod['2'] ."-". $explod['1'] ."-". $€xplod['0'];

Skulle gerne give flg output:
Kl.10:13:02 D. 29-12-2009



hvis du så yderligere vil have tiden explodet, så du kan sætte ting og sager imellem tiden, fx fra:
10:13:02 til 10-13-02, kan du bare sige:
$exploder = explode(":", $explo);

Og print de 3 forskellige ud, som 10 = $exploder['0'], 13 = ['1'] og 02 = ['2']

Du kan også sætte det ind i en function, således:

function time_changer($tiden, $valg){

$explo = explode(" ", "2009-12-29 10:13:02");
$explod = explode("-", $explo['0']);
$exploder = explode(":", $explo);

if($valg==false){
print "Kl.". $explo['1'] ." D. ". $explod['2'] ."-". $explod['1'] ."-". $€xplod['0'];
}

if($valg==true){
print "Kl.". $exploder['0'] ."-". $exploder['1'] ."-". $exploder['2'] ." D. ". $explod['2'] ."-". $explod['1'] ."-". $€xplod['0'];
}

}

og afprøv den ved at sige i samme script:
time_changer($tiden_fra_din_row_i_tabellen, true);
eller
time_changer($tiden_fra_din_row_i_tabellen, false);


-------------------

Sidst, kan du også bare hvis du vil sætte - ind i stedet for : og vil have det i den rigtige rækkefølge, så siger du bare:
print str_replace(":", "-", $explo['1']);



Indlæg senest redigeret d. 15.12.2009 22:10 af Bruger #6586
t